<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>函数</title>
	</head>
	<body>
	</body>
	<script type="text/javascript">
		window.onload=function(){
//			let n=100;
//			try{
//				console.log(n/i);
//			}catch(myException) {
//				console.log('尝试失败')
//				console.dir(myException.message)
//			}finally{
//				console.log('finally')
//			}
//			//TODO
//			//..打印订单信息
//			console.log('订单信息：XXXX')
			
			//函数的定义
			//function【关键字】函数名（形式参数【可有可无，可以无限多个】）｛
			//		业务逻辑操作
			//		return 返回值【可有可无】
			//｝
			
//			function add(a,b){
//				return a+b
//			}
//			
//			document.writeln(add(11,5))

//			function draw(color,txt){
//				document.writeln('<span style="color:'+color+';">'+txt+'</span>')
//			}
//			draw("skyblue","我要好好学习")

			//形参数量可变
//			function canChangeLength(){
//				let sum=0
//				for(var i=0;i<arguments.length;i++){
//					sum+=arguments[i]
//				}
//				return sum
//			}
//			document.writeln(canChangeLength(2,16,11,5))
			
			//("a","b","c","/") 输出a/b/c
//			function join() {
//				let splitStr= arguments[arguments.length-1]
//				let myStr=""
//				for (var i = 0;i < arguments.length-1;i++) {
//					if(i !== arguments.length - 2) {
//						//不是最后一个字母的时候
//						myStr += arguments[i] + splitStr
//					} else {
//						myStr += arguments[i]
//					}
//				}
//				document.writeln(myStr)
//			}
//			join("a","b","c","/")

//			//匿名函数
//			let anny =new Function("a","b","c","return a+b+c")
//			document.writeln(anny(2,11,5))

				

//			//函数嵌套1
//			function cal(a,b,fh){
//				
//				function add(){
//					return a+b
//				}
//				
//				function sub(){
//					return a-b
//				}
//				
//				function mul(){
//					return a*b
//				}
//				
//				function div(){
//					return a/b
//				}
//				
//				switch(fh){
//					case '+':
//						return add()
//						break
//					case '-':
//						return sub()
//						break
//					case '*':
//						return mul()
//						break
//					case '/':
//						return div()
//						break
//						
//				}
//			}
//			document.writeln("a+b="+cal(16,2,"+"))
//			document.writeln("a-b="+cal(16,2,"-"))
//			document.writeln("a*b="+cal(16,2,"*"))
//			document.writeln("a/b="+cal(16,2,"/"))
//			
			//函数嵌套2
			function add(a,b){
				return a+b
			}
				
			function sub(a,b){
				return a-b
			}
				
			function mul(a,b){
				return a*b
			}
				
			function div(a,b){
				return a/b
			}
			function cal(a,b,myFun){
				return myFun(a,b)
			}
			document.writeln("a+b="+cal(16,2,add))
			document.writeln("a-b="+cal(16,2,sub))
			document.writeln("a*b="+cal(16,2,mul))	
		}
	</script>
</html>
